package com.huanxing.cloud.mall.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户提现申请
 *
 * @author lijx
 * @since 2023/6/5 20:28
 */
@Data
@ApiModel(description = "用户提现申请")
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "user_withdrawal_apply")
public class UserWithdrawalApply extends Model<UserWithdrawalApply> {

	@ApiModelProperty(value = "PK")
	@TableId(type = IdType.ASSIGN_ID)
	private String id;

	@ApiModelProperty(value = "用户id")
	private String userId;

	@ApiModelProperty(value = "申请金额（元）")
	@NotNull(message = "提现金额不能为空")
	private BigDecimal applyAmount;

	@ApiModelProperty(value = "手续费（元）")
	private BigDecimal serviceFee;

	@ApiModelProperty(value = "支付金额")
	private BigDecimal paymentAmount;

	@ApiModelProperty(value = "状态：1.审核中；2.已打款；3.已驳回；")
	private String status;

	@ApiModelProperty(value = "描述")
	private String description;

	@ApiModelProperty(value = "真实姓名")
	@NotEmpty(message = "真实姓名不能为空")
	private String realName;

	@ApiModelProperty(value = "银行卡号")
	@NotEmpty(message = "银行卡号不能为空")
	private String bankCardNo;

	@ApiModelProperty(value = "银行名称")
	@NotEmpty(message = "银行名称不能为空")
	private String bankName;

	@ApiModelProperty(value = "创建时间")
	private LocalDateTime createTime;

	@ApiModelProperty(value = "更新时间")
	private LocalDateTime updateTime;

	@ApiModelProperty(value = "创建者ID")
	private String createId;

	@ApiModelProperty(value = "修改者ID")
	private String updateId;

	@ApiModelProperty(value = "逻辑删除：0.显示；1.隐藏；")
	private String delFlag;

	@ApiModelProperty(value = "租户id")
	private String tenantId;

}
